package zzs.generalframework.console.core.parameter.commonparameter.dictionary.service;

import java.util.List;

import zzs.generalframework.common.core.parameter.commonparameter.dictionary.DictionaryBO;
import zzs.generalframework.common.core.parameter.commonparameter.dictionary.DictionaryInfo;
import zzs.generalframework.console.common.exception.ConsoleException;
import zzs.generalframework.console.common.model.ConsoleReturnBO;

/**
 * @title
 * @description
 * @project zzs-console
 * @package zzs.generalframework.console.core.parameter.commonparameter.dictionary.service
 * @author zzs
 * @date 2018年2月2日
 * @version 1.0
 */
public interface IDictionaryService
{

	/**
	 * 保存数据字典信息
	 *
	 * @param dictionary
	 * @return
	 */
	public ConsoleReturnBO saveDictionary(DictionaryBO dictionaryBO);

	/**
	 * 保存数据字典信息列表
	 *
	 * @param dictionaryBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO saveDictionary(List<DictionaryBO> dictionaryBOList) throws ConsoleException;

	/**
	 * 获取数据字典信息
	 *
	 * @param dictionaryInfo
	 * @return
	 */
	public ConsoleReturnBO getDictionary(DictionaryInfo dictionaryInfo);

	/**
	 * 获取数据字典信息列表
	 *
	 * @param dictionaryInfo
	 * @return
	 */
	public ConsoleReturnBO listDictionary(DictionaryInfo dictionaryInfo);

	/**
	 * 更新数据字典信息
	 *
	 * @param dictionaryBO
	 * @return
	 */
	public ConsoleReturnBO updateDictionary(DictionaryBO dictionaryBO);

	/**
	 * 更新数据字典信息列表
	 *
	 * @param dictionaryBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO updateDictionary(List<DictionaryBO> dictionaryBOList) throws ConsoleException;

	/**
	 * 删除数据字典信息
	 *
	 * @param dictionaryBO
	 * @return
	 */
	public ConsoleReturnBO removeDictionary(DictionaryBO dictionaryBO);

	/**
	 * 删除数据字典信息列表
	 *
	 * @param dictionaryBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO removeDictionary(List<DictionaryBO> dictionaryBOList) throws ConsoleException;

	/**
	 * 统计数据字典信息
	 *
	 * @param dictionaryBO
	 * @return
	 */
	public Long countDictionary(DictionaryBO dictionaryBO);

}
